package net.intellect.collectpro.objects;

import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

import com.sforce.soap.enterprise.ID;
import com.sforce.soap.enterprise.sobject.Llamada__c;

public class Cartera {
	private ID id;
	private String name;
	private List<Producto> productos = new ArrayList<Producto>();
	private List<Mora> moras = new ArrayList<Mora>();
	private List<Cobro> cobros = new ArrayList<Cobro>();
	private List<Cobro> cobrosMP = new ArrayList<Cobro>();
	private List<Cobro> cobrosNMP = new ArrayList<Cobro>();
	private List<Llamada__c> llamadasSinAgente = new ArrayList<Llamada__c>();	

	public Cartera(ID id,String name) {
		this.id = id;
		this.name = name;		
	}
	
	public ID getId() {
		return id;
	}
	public void setId(ID id) {
		this.id = id;
	}
	public String getName() {
		return name;
	}
	public void setName(String name) {
		this.name = name;
	}
	public List<Producto> getProductos() {
		return productos;
	}
	public void setProductos(List<Producto> productos) {
		this.productos = productos;
	}
	public List<Mora> getMoras() {
		return moras;
	}
	public void setMoras(List<Mora> moras) {
		this.moras = moras;
	}

	public List<Cobro> getCobros() {
		return cobros;
	}

	public void setCobros(List<Cobro> cobros) {
		this.cobros = cobros;
	}

	public List<Cobro> getCobrosMP() {
		return cobrosMP;
	}

	public void setCobrosMP(List<Cobro> cobrosMP) {
		this.cobrosMP = cobrosMP;
	}
	
	public List<Cobro> getCobrosNMP() {
		return cobrosNMP;
	}

	public void setCobrosNMP(List<Cobro> cobrosNMP) {
		this.cobrosNMP = cobrosNMP;
	}	
	
	
	public boolean tieneMarcadorPredictivo() {
		if (moras!=null) {
			for (Mora mora:moras) {
				if (mora.isMarcadorPredictivo()) {
					return true;
				}
			}
		}
		return false;
	}

	
	public Map<String,Integer> getMapaIdProductos() {
		Map<String,Integer> mapaIdProductos = new HashMap<String,Integer>();
		if (productos!=null) {
			for (Producto producto:productos) {
				mapaIdProductos.put(producto.getRecordTypeInfoCuenta().getID(),0);
			}
		}
		return mapaIdProductos;
	}


	public List<Llamada__c> getLlamadasSinAgente() {
		return llamadasSinAgente;
	}

	public void setLlamadasSinAgente(List<Llamada__c> llamadasSinAgente) {
		this.llamadasSinAgente = llamadasSinAgente;
	}	
	
}
